Methods and apparatus for communication program data signals via a remote control unit

ABSTRACT

A remote control system including a hand held remote control unit with an alphanumeric information display, for controlling and communicating with a first controlled device, such as a digital music tuner connected to a community antenna television (CATV) cable, and for controlling a selected one of a plurality of second controlled devices, such as CATV set-top units, VCRs, or television sets. A first, high speed, error free display information communications protocol is utilized for transmitting program content or other information from a device, such as the CATV-connected music tuner, to the remote control unit for display. A second or control communications protocol is utilized by the remote control unit for controlling the first controlled device and a selected one of the second controlled devices. The CATV cable-connected music tuner utilizes the 44.1 kHz Compact Disk (CD) clock signal embedded in digital music signals provided via the cable to derive clocking signals for implementing the display information communications protocol, resulting in an efficient, low cost electronic design.

This application is a division, of application Ser. No. 07/795,888 filedNov. 19, 1991 now abandoned, which is a continuation-in-part ofapplication Ser. No. 618,794, filed Nov. 27, 1990 now U.S. Pat. No.5,239,540.

TECHNICAL FIELD

The present invention generally relates to a remote control systems, andmore particularly, to a hand held remote control unit for communicatingwith a first controlled device by using a first communications protocoland control either a first controlled device or a second controlleddevice by using a selected second communications protocol and,furthermore, that displays program information associated with a programfor the convenience of listeners/viewers as they are listening/viewingthe program.

BACKGROUND OF THE INVENTION

Presently, program content information, for example, song title, artist,record label, etc., is communicated to the customer/listener byannouncers or disc jockeys (DJs). In the case of video programstransmitted by broadcast means, video text messages are presentedbetween programs and during interruptions of programs. In the case ofmany premium services, it is undesirable to interrupt programs forpresentation of program content information. It may also be undesirableto have any form of announcer or DJ between programs or selections ofmusic.

The announcers or interruptions of a program may be undesirable in someservices. Nevertheless, it is highly desirable to communicate programcontent information. Frustration of customers, and possible loss ofrevenue due to subscription cancellation can occur if a subscriber hasno method of knowing the title, composer, or artist of the particularselection of music. To the music industry, identification of therecording label and the musical selection is critical to the sale ofrecordings. Currently, a subscriber viewing a premium video program mustconsult a separate listing, tune to a different channel, or wait tillthe end of the program for its identification.

Similarly, the cable television industry is currently introducingaudio-only services. Program content information is printed in aseparate listing. These cable "radio stations" may play a continuoussuccession of musical selections without commercial interruptions. Theseservices may not use a "disc-jockey" to identify the musical or otherselections.

It can be a frustrating experience to enjoy a piece of music provided byan entertainment service, only to have the service provider fail toidentify the piece. To lovers of music, having such information as musictitle, composer, artist and record label is vital. Without thisinformation, the service will be reduced to the level of genericbackground music.

Indeed, the prior art has recognized the requirement to communicateprogram content information associated with a broadcast performance.U.S. Pat. No. 4,887,308 to Dutton describes an information broadcastingsystem that provides a radio listener with program informationconcerning the song and the performing artist for a broadcastperformance. A primary storage information system stores programinformation associated with a broadcast performance. During thebroadcast performance, a portion of the stored program information isselected and encoded for introduction to the standard programminginformation being broadcast by a broadcast transmitter. A separatereceiver, typically an AM/FM radio, receives the broadcasting signals,including the encoded program information, transmitted by the broadcasttransmitter. When a listener hears a performance of interest, thelistener manually actuates a processor, which is coupled to thereceiver, to introduce the selected program information associated withthe performance into a memory. At a later time, the listener canretrieve the selected program information from the memory forpresentation by a visual display.

Likewise, an article entitled "Digital Signal Accompanies FM BroadcastTo Give Station Information To The Listener," published in Electronics,Volume 51, No. 21, dated Oct. 12, 1978, pages 68 and 70, describes acircuit for FM receivers that demodulates a program information signal,which is transmitted with a regular broadcast signal, to provide avisual display of tuning information, including the identification of atuned station, the station's location, and the type of music beingbroadcast by the tuned station.

Common to both the Dutton and the Electronics systems is the use of adisplay to communicate program information associated with a performanceto a listener and thereby, in essence, provide the function of a DJ forthe convenience of the listener. Such a visual display could be builtinto the receiver itself, as described by the prior art, or it could bea separate display unit that would connect to an interface port of thereceiver.

The problem with such displays is that, unless they are very large andtherefore costly, they cannot be easily placed within reading distanceof the listener. Long cables for the display would be difficult to routein a typical living room, and one need only look at the lack of successof video cassette recorder (VCR) wired remote controls to convinceoneself that such a tethered display would not be optimum.

In contrast, wireless remote controls have brought great convenience tothe control of consumer products. Highly intelligent remote controlswith liquid crystal displays (LCD) are available. Programmable anduniversal "learning" remote controls are available that emulate thefunctions of multiple other controls. A universal "learning" remotecontrol typically receives control code information from another remotecontrol unit during a learning mode and displays the control functionsavailable to the user.

Examples of such universal learning remote controls include U.S. Pat.No. 4,623,887 to Welles and related U.S. Pat. No. 4,626,848 to Ehlers,and U.S. Pat. No. 4,856,081 to Smith. Welles, Ehlers, and Smith describereconfigurable remote control systems that include an infrared (IR)transmitter for transmitting a control signal with a definedtransmission protocol, a receiver for receiving the control signal froma separate remote control system during a learning mode, and a displayto indicate operational status and to prompt the user to inputinstructions during control operations and the learning mode. Thetypical transmission protocol for such IR remote control transmitters isdefined by the number of pulses within a signal burst and the timeperiod of each pause between pulses. A logic 1 is typically defined by afirst pulse count within a predefined time period and a logic 0 istypically defined by a second pulse count within the predefined timeperiod. Accordingly, the pulse count and the pause duration data definethe transmission protocol for the transmitted control signal.

Many typical wireless remote control system, such as the programmableand universal learning remote controls described above, do not include aseparate receiver to receive information from the device under controlbecause such control systems only transmit a coded control signal at arelatively slow data rate of 50-100 baud. In general, such prior artsystems do not provide for a two-way communications link between theremote control and the controllable device, nor do many remote controlsreceive and display any information obtained from the device undercontrol. In addition, many remote control systems do not utilize anerror detection system for the detection of an inaccurate transmissionbecause such systems transmit the control signal at a relatively slowdata rate, thereby eliminating any requirement for an error detectionsystem. Consequently, a requirement exists for a remote control systemthat communicates with the device under control to provide a hand-heldelectronic DJ display for receiving a program information signal at arapid data rate and for displaying such program information associatedwith a program selection for the convenience of a listener and,furthermore, which is capable of controlling a group of controllabledevices.

Such a remote control would require a higher data rate forcommunications than the typical universal remote control because of theincreased quantity of data, specifically program information data,provided to the remote control by the controllable device. In view ofthe increased quantity of data suggested by the communication of programinformation, an error detection scheme is also necessary to insure theaccuracy of the data received by the remote control. Furthermore, toavoid the requirement for multiple remote control systems associatedwith a set of controllable consumer systems, a listener would benefitfrom the convenience provided by a wireless remote control system thatincludes a display for program information and, furthermore, operates tocontrol multiple controllable devices.

SUMMARY OF THE INVENTION

The problems of transmitting and providing a display of programinformation associated with an entertainment service, as well ascontrolling a group of controllable devices, are solved by theprinciples of the present invention. The present invention ensures thata listener/viewer will continue to enjoy the convenience offered by useof a hand-held remote control unit, while also benefitting from a remotedisplay that communicates program information, by combining a hand-helddisplay of program information with a remote control unit thatcommunicates with and controls a first controlled device, such as amusic tuner, and a second controlled device, such as a community antennatelevision (CATV) set-top converter.

A system constructed in accordance with the present invention receives aprogram information signal at a rapid data rate to provide thelistener/viewer with a display of the information on the remotecontrol's display within a short period of time and, furthermore,controls selected functions of the controlled devices by transmitting acoded control signal at the more conventional, relatively slow datarate. In addition, the present invention utilizes an error detectionprocess to ensure accurate reception of the program information.

Briefly described then, the present invention provides a system,including a hand held remote control unit with display, forcommunicating with a first controlled device, such as a digital musictuner connected to the CATV cable, and for controlling either the firstcontrolled device or one of a group of second controlled devices, suchas a CATV set top cable converter unit, television receiver, or thelike. A first or "display information" communications protocol isassociated with communication with the first controlled device, and atleast one second or "control" communications protocols is associatedwith the control of the first controlled device and/or a selected one ofthe second controlled devices. In the preferred embodiment, the remotecontrol unit is operative to retrieve protocol parameters from a memorycorresponding to a selected controllable device in response to receiptof a command signal, and generate an appropriately formatted controlsignal for the selected device.

Communications between the remote control unit and the controlleddevices are effected with a "protocol", that is, a formal set ofconventions governing the format and relative timing of message exchangebetween the devices, in a manner as contemplated by the IEEE StandardDictionary of Electrical and Electronics Terms (3rd. 1984). Differentprotocols are utilized in the present invention to facilitate differentgoals--a high speed, substantially-error free infrared (IR) carrierdisplay information protocol (a first protocol) is utilized between adevice providing program content information or the like, such as amusic tuner, and the remote control unit (which preferably includes aLCD display), to facilitate prompt and error free display of theinformation to the user. A slower, more conventional control protocol (asecond protocol) is utilized to provide for transmission of infrared(IR) control signals from the remote control unit to one or morecontrolled devices such as CATV-connected music tuner or CATV-connectedset-top units. Thus, different first and second communications protocolsare utilized in the preferred embodiment.

A benefit of having the display located within the hand herd remotecontrol unit is that the cost of the display need not be included withinthe cost of the controlled device, for example, a separate display neednot be provided on the music tuner. Indeed, the display can be avalue-added, extra-cost feature for optional purchase by the user. Itcan thus be seen as a means of increasing revenue, or of making anentertainment service affordable to those not desiring the remotecontrol feature.

More particularly described, the present invention is an improved, handheld remote control apparatus for communicating with and selectivelycontrolling at least one remotely located device, the remotely locateddevice being operative to carry out a controllable function upon receiptof a command delivered by a control signal from the remote control.apparatus. A receiver means is responsive to a display informationsignal transmitted by the remotely located device. The displayinformation signal is of a substantially higher data rate than thecontrol signal. A display means displays the display information signalin alphanumeric characters.

A keypad receives an operator input corresponding to a selected commandfor delivery to the remotely located device and provides a commandsignal. A transmitter means responsive to the command signal transmits acontrol signal corresponding to the selected command to the remotelylocated device.

In the disclosed embodiment, the remotely located device comprises amusic tuner connected to a CATV cable, and the display informationsignal comprises a program information signal associated with musicbeing provided on the CATV cable. The program information signalincludes title information, track information, and artist informationassociated with music being provided on the CATV cable.

The disclosed remote control apparatus further includes control meansoperative for receiving the display information signal from the receivermeans, generating display signals for the display, generating thecommand signal in response to actuation of an operator input on thekeypad, and controlling the transmitter to transmit the control signal.

The display information signals include coded information signals anduncoded information signals. A memory means stores display signalsassociated with each of a plurality of coded information signals. Thecontrol means is responsive to the coded information signals forretrieving selected display signals from memory and for generatingcorresponding display signals for the display.

The coded information signals correspond to a plurality of predefineddata categories to be displayed on the display means. The uncodedinformation signals correspond to particular items of data within apredefined data category to be displayed on the display means. Thedisplay is operative to display predetermined alphanumeric characterscorresponding to the coded information signals, prior to displayingalphanumeric characters corresponding to the uncoded informationsignals.

The display information signal comprises an alphanumeric characterinformation protocol signal for transmitting rapid error-freealphanumeric characters at a rate substantially in excess of the controlprotocol signal. In the disclosed embodiment, the display informationsignal is about 4900 baud, and the remote control protocol signal isless than about 100 bits per second.

A typical control signal comprises a predetermined remote controlprotocol for controlling one of a plurality of second remotely locateddevices. The second remotely located devices are typically infraredsignal controlled and include a CATV cable-connected music tuner, a CATVcable-connected set top converter, a videocassette recorder (VCR), or atelevision receiver.

A memory stores a plurality of protocol parameters associated withdifferent second or control protocols corresponding to different ones ofthe second remotely located devices. Means responsive to selection of aparticular one of the second remotely located devices via the keypadmeans are provided for selecting particular ones of the plurality ofprotocol parameters. Means responsive to selected particular ones of theplurality of protocol parameters provide a corresponding control signalto the remote control unit's infrared transmitter.

In particular, a remotely located device comprises a music tunerconnected to a community antenna television (CATV) cable, and acontrollable function comprises the retrieval of program informationbeing provided on the cable to the music tuner. The display informationsignal comprises alphanumeric information associated with the programinformation for display on the display means. The display means ispreferably a separate display on the remote control unit for providing anonintrusive display of information corresponding to the displayinformation signals..

In the preferred embodiment, the music tuner transmits a displayinformation signal to the remote control unit in response to aparticular command or polling signal transmitted by the remote controlunit. In this manner, a two-way communications link is formed betweenthe tuner and the disclosed remote control unit. Alternatively, thetuner could transmit the information signal to the receiver in theabsence of any polling by the remote control unit.

During a second operation mode, the display provides the user with amenu of codes associated with a group of CATV set top converters ortelevision receivers. Each code provides a unique identifier for aselected CATV converter set-top. In this manner, the user can utilizethe combination of the display and the selection system to select aconverter set-top or television receiver identified by the menu.

In addition to the aspects described above, the present invention alsoprovides a system for displaying program information derived from aninformation signal associated with at least one digital data signal,wherein the system includes a first device and a second device remotelylocated from the first device. The first device includes a firstreceiver for receiving an encoded signal from a signal source, forexample, digitized music encoded in the CD format. The encoded signalincludes the information signal and the digital data signal, wherein thedigital data signal is provided at a first clock frequency. In responseto the encoded signal, a first processor separates a selectedinformation signal from its corresponding digital data signal to producea separated information signal. The first device further includes aclock oscillator that provides a signal at the first clock frequency anda transmitter for transmitting the separated information signal at thefirst clock frequency.

Instead of utilizing another clock frequency associated with separateclock oscillator to transmit the separated information signal fordisplay at the remote control unit, the preferred first device utilizesderives a clock from the digital data CD music data signals forgenerating a signal at a frequency for IR signal transmission of theinformation for display. Consequently, the cost of a separate clockoscillator is not included within the total expense for the firstdevice. Furthermore, the use of the existing clock oscillator benefitsthe mechanical and electrical layout for the first device by eliminatinga separate clock component that would otherwise be required to providethe same clock signal function.

The second device includes a second receiver for receiving thetransmitted information signal and producing a received informationsignal. The second device further includes a display for communicatingthe received information signal. In this manner, the second devicecommunicates information derived from the selected information signalthat is associated with its corresponding digital data signal. Thedigital data signal could take the form of a digital audio signalencoded at the first clock frequency. However, the digital data signalcould also be a digital video signal encoded at the first clockfrequency. For the digital audio signal, the first clock frequency isdefined as 44.1 kHz to insure compatibility with the frequency standardfor Compact Disc (CD) technology as defined by the Sony-Phillips digitalinterface format (SPDIF).

The second device could further include a second transmitter thattransmits a particular control command signal to the first device andthereby prompt the first device to transmit the separated informationsignal in response to the information request signal. The first device,such as a base subscriber terminal for a CATV digital music channel,transmits an information signal to the second device, such as a remotecontrol unit, in response to the remote control unit polling the basesubscriber terminal by transmitting the appropriate control commandsignal. However, the first device could also transmit the informationsignal to the second device in the absence of any polling activity bythe second device. Accordingly, a two-way communications link is formedbetween the base subscriber unit and the remote control unit. Thiscommunications link could include infrared, radio frequency, visiblelight, acoustical transmission through air, or other wirelesscommunications means.

The second transmitter also transmits another control command signal tothe first device to initiate a selected control function associated withthe first device. In this manner, the second device controls selectedoperating functions of the first device by transmitting a controlcommand signal corresponding to a selected control function. The firstreceiver receives the particular control command signal and provides thereceived control command signal to the first processor. Subsequently,the processor initiates the selected control function in accordance withthe control command.

Yet still more particularly described, the present invention provides amethod for receiving an entire, error-free message from a predeterminednumber of transmissions of an encoded message, particularly useful foraccumulating a message for display on the remote control unit. Theencoded message, which is defined by a predetermined number of datafields, is communicated by a transmitter to a receiver. At the receiver,one of the data fields is received and subsequently checked for an errorassociated with the received data field to determine if it iserror-free. If the received data field is error-free, the received datafield is stored as an error-free data field. The steps of receiving oneof the data fields, checking the received data field, and storing theerror-free data field are repeated for subsequent transmissions of themessage until each of the predetermined number of data fields is storedas an error-free data field.

Stated in still other words, the present invention further provides amethod for receiving an entire, error-free message for a predeterminednumber m of transmissions of an encoded message. Similar to theabove-described method, the message, which is defined by a predeterminednumber of data fields, is communicated by a transmitter to a receiver.The method includes receiving one of the data fields during the firsttransmission of the encoded message and checking for an error associatedwith the received data field to determine if it is error-free. If thereceived data field is error-free, the receive data field is stored asan error-free data field.

Alternatively, if the receive data field is not error-free, the steps ofreceiving one of the data fields and checking for an error associatedwith the received data field are repeated for subsequently received datafields associated with the first transmission of the message and,furthermore, an error flag indicating that a particular one of the datafields has not been received as error-free is stored upon the detectionof such an error. The error-checking process is repeated for subsequenttransmissions of the message until all of the data fields have beenstored as error-free data fields or, alternatively, the mth transmissionof the message has occurred.

Specifically, the above-described steps are repeated only for theparticular data fields associated with the error flag. In this manner,subsequent receptions of particular data fields that have been stored aserror-free are ignored to eliminate unnecessary error-checking and,consequently, reduce the time associated with the method of checking forerrors within an entire message.

In furtherance of these principles, it is an object of the presentinvention to provide an improved remote control system that communicateswith a first device by use of a first communications protocol andcontrols the first device or a selected one of a group of second controldevices by use of a separate second communications protocol.

It is a further object of the present invention to provide an improvedtwo-way communications link between a remote control unit and acontrollable device.

It is a further object of the present invention to provide an improvedremote control unit having a display to communicate information receivedfrom a controllable device, in response to the remote control unittransmitting an information request to the controllable device.

It is a further object of the present invention to effect a rapidtransfer of program information between a controllable device and aremote control unit having a display.

It is a further object of the present invention to effect an error-freecommunication of program information between a controllable device and aremote control unit.

It is a further object of the present invention to utilize an existingclock oscillator having a predefined frequency within a first device toenable the transmission of program information to a second device usingthe predefined frequency to generate an infrared signal carrier signal.

It is a further object of the present invention to transmit programinformation, corresponding to a selected digital audio signal, at apredefined frequency, where the selected digital audio signal isprovided at the predefined frequency.

It is a further object of the present invention to provide an errordetecting or an error checking process for receiving an entire,error-free message from a predetermined number of transmissions of amessage defined by a predetermined number of data fields.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other advantages of the present invention may be appreciatedfrom studying the following detailed description together with thedrawings in which:

FIG. 1 is a overall block diagram of a system in which the preferredembodiment of the present invention is operative.

FIG. 2 is a detailed block diagram of the data signal receiver systemutilized in the system shown in FIG. 1.

FIG. 3 is a block diagram of a synchronizing circuit utilized in thereceiver shown in FIG. 2 to produce a infrared carrier signal used fortransmitting a display information signal.

FIG. 4 is a diagram showing the waveforms produced by the synchronizingcircuit of FIG. 3.

FIG. 5 is a schematic diagram of an infrared signal remote controltransmitter associated with the receiver illustrated in FIG. 2.

FIG. 6 is a top plan view of a remote control unit constructed inaccordance with the preferred embodiment of the present invention.

FIG. 7 is a schematic diagram of the preferred remote control unit shownin FIG. 6.

FIGS. 8A and 8B are schematic diagrams illustrating the circuitry of thepreferred remote control unit shown in FIG. 6.

FIG. 9 is a state diagram illustrating the method of operation of thepreferred remote control unit shown in FIG. 6.

FIGS. 10A and 10B are state tables associated with the state diagramillustrated in FIG. 9.

FIG. 11 illustrates a typical second or control communications protocolassociated with the control of a selected controllable device by thepreferred remote control unit of FIG. 6.

FIG. 12 illustrates various modulation schemes or waveforms associatedwith different control protocols utilized in various different remotelycontrollable devices, with which the preferred remote control unit shownin FIG. 6 can be made operative.

FIG. 13 is a diagram illustrating the preferred control communicationsprotocol associated with a control command signal transmitted by thepreferred remote control unit of FIG. 6.

FIG. 14 is a diagram illustrating the preferred display informationcommunications protocol associated with program information received anddisplayed by the preferred remote control unit of FIG. 6.

FIG. 15 is a flow chart diagram illustrating the error-checking methodcarried out by the preferred remote control unit of FIG. 6.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring to FIG. 1, a block diagram of an overall system 8 in which thepreferred embodiment of the present invention is particularly suitableis illustrated. The present invention, preferably embodied in a remotecontrol unit 200 that carries out the methods and functions describedherein, will be described with respect to transmitting digital audiosignals with program information. However, those skilled in the art willrecognize that the present invention may, instead of transmitting audiowith corresponding program information, transmit any of the following,with corresponding program information: television, games, software,video, and other combinations of audio/video or software information.

Overall System

Compact disc (CD) players 10-1 through l0-n provide a plurality ofdigital audio signals to the present invention. The CD players maybe theso called "jukebox" type wherein up to sixty or more compact discs maybe stored and accessible by the player.

The digital audio signals from the CD players 10-1 through l0-n are.input to encoders 20-1 through 20-n. The controller and music databases30-1 through 30-k controls each output of the CD players 10-1 throughl0-n and any respective selection of compact discs within these players.The controller and music databases 30-1 through 30-k also provide adatabase containing program information with a one-to-one correspondenceto the tracks contained on the compact discs. This program informationincludes title, track, artist, publisher, composers, songidentification, and play time information blocks for each song containedon a compact disc.

These program information signals could also include other informationrelevant to describing the particular track contained on a compact disc,as those skilled in the art can appreciate. For example, if theinformation were historical audio data, information on the time andplace such data was first conceived or transmitted also may be containedwithin this program information. Additionally, if the digital signalstransmitted contained video information, the corresponding programinformation signals would relate to the video program being transmitted,for example, the title, actors, director, publisher, year, or otherrelevant information.

The plurality of digital audio signals inputted by the CD players 10-1through l0-n are combined in the encoders 20-1 through 20-n with theprogram information signals inputted by the controller and musicdatabases 30-1 through 30-k. The combined signals from the encoders 20-1through 20-n are then inputted into a multiplexer 40 which combines thesignals into a serial digital data stream.

Additional signals may be combined with the digital audio and programinformation signals. A subscriber control 45 contains information onvarious subscribers who may receive the digital audio data produced bythe present invention. This subscriber information stored in thesubscriber control 45 is multiplexed with the digital audio and programinformation signals in the multiplexer 40, producing a serial digitaldata stream containing digital audio, program information, and nationalsubscriber information.

The serial digital audio/program information stream from the multiplexer40 is input into a satellite transmitter 50 and broadcast, viasatellite, to a satellite receiver 60. However, those skilled in the artwill realize that any delivery system, not just satellite transmission,may be used, such as cable television, microwave distribution (MDS orMMDS), telephone systems, terrestrial broadcasts, and other coaxial oroptical cable lines.

The satellite receiver 60 transfers the data to a headend processor 70,which in turn converts and sends the information to audio cablemodulator 75, preferably a digital audio cable modulator. A localprogram origination system 73 also provides local program data, such asaudio data originating from a local radio station, to the headendprocessor 70 for processing and conversion of the local program dataprior to sending the local program data via a digital audio cablemodulator 75 to a cable distribution system. CATV cable modulators 78preferably accept video data from the headend processor 70 and modulatesthe video data for transmission over the cable distribution system. Thedigital audio data is then added with the video data from the CATV cablemodulators 78 in a summing circuit 80 and a combined signal is sent overthe cable distribution system.

Although analog video data is typically utilized by a conventional CATVsystem, those persons skilled in the art will appreciate that digitalvideo data could also be input to the CATV cable modulators 78 forsubsequent distribution over the cable distribution system. Furthermore,the headend processor 70 could also provide a video program informationsignal associated with the video data to the CATV cable modulator 78 andthereby introduce the video program information to the cabledistribution network.

The cable distribution system includes line amplifiers 85 for boostingthe signal and compensating for any line loss. A system tap 90 directsthe combined signal of the digital audio data and the video data via thedirect path of a coupler 90 to a subscriber's premises and into a firstdevice, otherwise referred to as a first controlled device, which ispreferably a digital music tuner (DMT) 100.

The digital music tuner 100, more fully described with respect to FIGS.2-5, selects a channel containing the digital audio and programinformation signals. Additionally, the digital music tuner 100 separatesthe digital audio signal from the program information signal. Thedigital audio signal is converted to an analog signal, amplified, andoutput on a subscriber's audio electronics, while the programinformation signal is processed and sent to an optional local display ora second device, preferably a remote control unit 200 having a display.The selected display then communicates to the subscriber the particularprogram information corresponding to an audio track currently beinglistened to by the subscriber.

The coupler 93 further directs the combined signal of the digital audiodata and the video data to a second controlled device, preferably a CATVset-top converter 300 located within the subscriber's premises. The CATVset-top converter 300 selects a channel of video data and processes thevideo data in a conventional manner appreciated by those persons skilledin the art to provide a processed video signal for viewing via atelevision receiver 310. If the video data is accompanied by a videoprogram information signal associated with the video signal, then a CATVset-top converter having a video program information processor wouldseparate the video signal from the video program information signal,process the video program information signal, and send the video programinformation to the television receiver 310 or to the remote control unit200 for communicating the video program information to the subscriber.

The remote control unit 200 also is capable of controlling selectedoperating functions of both the tuner 100 and the set-top converter 300.At any one time, the remote control unit controls either the tuner 100or a selected one of a group of set-top converters, such as the set-topconverter 300, or other remotely controllable devices such as VCRs,television receivers, and the like.

The preferred remote control unit 200 is more fully described withrespect to FIGS. 6-11.

Digital Music Tuner

FIG. 2 is a block diagram of the preferred digital music tuner 100.Referring to FIGS. 1-2, the digital audio and program information signalis received by the head end processor 70 and passed, via the cabledistribution system and the system tap 90, into a set-top terminal tuner110. The terminal tuner 110 preferably includes phase-lock loop (PLL)circuitry. The signal from the terminal tuner 110 is amplified by anamplifier 115 and filtered by a saw filter 120 before being demodulatedby a demodulator 125. The terminal tuner 110 converts the selected radiofrequency (RF) channel to a demodulation intermediate frequency (IF).The output of the demodulator 125 is quadrature partial response (QPR)demodulated to produce a 5.6 Mbps data stream containing five stereopair of digital audio data to an applications specific integratedcircuit (ASIC) 140. The demodulator 125 also provides an automatic gaincontrol signal 130 to the terminal tuner 110 to maintain constant signallevel. Additionally, the demodulator 125 provides data to a data clockrecovery PLL 135. The data clock recovery PLL 135 contains a 33.8688Megahertz (MHz) crystal 137 (about 33.9 MHz) for timing purposes.

The ASIC 140 provides demultiplexing, decrypting, and decodingoperations upon the 5.6 Mbps data stream input by the demodulator 125.The ASIC 140 separates the 5.6 Mbps data stream to a select one of fivestereo pairs of digital audio signals. The selected stereo pair isdecrypted and separated to provide a program information signal and adigital audio data signal. The digital audio data signal is then decodedutilizing a data compression technique described in U.S. Pat. No.4,922,537, incorporated herein by reference.

The ASIC 140 inputs the digital audio signals, provided at a samplingrate of 44.1 kHz, to a digital [to]audio converter (DAC) 160. From theDAC 160, analog left and right audio signals are filtered throughfilters 165-1 and 165-2 and input into a bypass 170. The bypass 170allows additional audio components (e.g., a CD player or tape deck) tobe switchably connected with the digital music tuner 100. Amicroprocessor 150 controls the PLL of the terminal tuner 110, ASIC 140,the DAC 160 and the bypass 170.

The program information signal from the ASIC 140 is sent to themicroprocessor 150 where it may be displayed on a front panel interface180. The ASIC 140 also sends the program information signal to a remotecontrol transmitter 190 for transmission to the remote control unit 200.

A remote control receiver 195, coupled to the microprocessor 150,receives instruction or control signals transmitted by the remotecontrol unit 200 to initiate the remote control of selected functions ofthe tuner 100.

A clock signal generated internal to the ASIC 140 is utilized as acarrier signal to switch the output of the remote control transmitter190 ON or OFF at a frequency of 44.1 kHz. It will be appreciated thatbecause the 44.1 kHz sampling clock for audio digital to analogconversion in the DAC 160 happens to be within the common operativefrequency range for infrared signal carriers (which vary from about 20kHz to about 60 kHz), the 44.1 kHz clock from an ASIC CLOCK generator140a may be utilized to generate a carrier signal for infrared signalssent by the remote control transmitter 190. An ASIC CLOCK generator 140atherefore advantageously provides the clocking function for the DAC 160(to convert the digital audio signals into analog audio signals), aswell as the carrier signal function associated with signal transmissionsby the remote control transmitter 190. If the ASIC CLOCK generator 140adid not serve such dual signal functions, separate clock oscillatorswould otherwise be required to provide the clock signal and the carriersignal functions, thereby increasing the overall cost and complexity ofthe tuner 100.

The remote control unit 200 operates to control selected functions ofthe tuner 100 and the selected CATV set-top converter 300, as well as todisplay the program information transmitted by the remote controltransmitter 190 associated with the tuner 100. A two-way wirelesscommunications link exists between the tuner 100 and the remote controlunit 200. In contrast, a one-way wireless communications link existsbetween the remote control unit 200 and a conventional CATV set-topconverter, such as the set-top 300.

Referring now to FIGS. 2-3, the ASIC clock generator 140a provides anASIC CLOCK signal having a fixed first frequency to drive an interface170, which provides digital audio data at the fixed frequency. The ASICCLOCK signal has a fixed frequency defined by the standard Sony-Phillipsdigital interface format (SPDIF), 44.1 kHz, because the digital audiosignals previously have been sampled at such a defined frequency and, inaddition, the interface 170 uses the standard SPDIF digital interfaceformat.

The ASIC CLOCK signal provided by the ASIC clock 140a is derived fromthe about 33.9 MHz signal provided to the ASIC 140 by the data clock PLL135. Specifically, the ASIC CLOCK signal is derived by dividing the 33.9MHz signal by three (3) to provide a second clock signal having afrequency of 11.3 MHz, and by then dividing the 11.3 MHz signal to thepreferred fixed first frequency for the 44.1 kHz ASIC CLOCK signal.Dividers 141a, 141b provide these frequency dividing functions. The 11.3MHz clock signal is utilized as a clock signal to drive selectedoperations conducted by the ASIC 140.

FIG. 3 shows a synchronizing circuit 142 utilized within the ASIC 140 toprovide clock synchronized program information signals to the remotecontrol transmitter 190. FIG. 4 shows the relationship between selectedsignals associated with the synchronizing circuit 142 in FIG. 3. Inparticular, the synchronizing circuit 142 operates to provide twoseparate timing alignment functions. First, the synchronizing circuit142 aligns the program information signal provided by the microprocessor150 to the 11.3 MHz clock signal. Second, the synchronizing circuit 142aligns the 44.1 kHz ASIC CLOCK signal to the 11.3 MHz clock signal.

The synchronizing circuit 142 includes a first synchronizing element143, an edge detector 144, a second synchronizing element 145, and anAND gate 146. Referring to FIGS. 3-4, the microprocessor 150 providesprogram information signals (waveform B) in the form of a serial datasignal formatted in the appropriate display information protocol(described below) to the first synchronizing element 143. Themicroprocessor 150 outputs the program information signals to the firstsynchronizing element 143 at a predefined data rate, preferably 4900baud. In addition, the 11.3 MHz clock signal is provided as anotherinput to the first synchronizing element 143. The first synchronizingelement 143 aligns the rising edge of the program information signals(waveform B) to the 11.3 MHz clock signal to provide an output signalsynchronized with the 11.3 MHz clock.

The 11.3 MHz clock and the ASIC CLOCK signal of 44.1 kHz (waveform C)are input to an edge detector 144. As will be understood by thoseskilled in the art, an edge detector 144 is generally operative toprovide a single clock pulse in response to detection of a rising edgeor a trailing edge of an input signal. When the edge detector 144detects a rising edge or a trailing edge of the ASIC clock signal(waveform C), it provides an output signal (waveform D) that enables theoperation of a second synchronizing element 145. Specifically, the edgedetector 144 outputs a narrow pulse that extends for one period of the11.3 MHz clock signal as the output signal (waveform D). The preferrededge detector 144 detects a trailing edge associated with the ASIC CLOCKsignal.

The second synchronizing element 145 accepts the synchronized outputsignal of the first synchronizing element 143 and produces a gate signal(waveform E) when the output signal of the edge detector 144 enables thesecond synchronizing element 145. In the preferred embodiment, thesynchronizing elements 143,145 comprise well known digital circuits suchas J-K flip-flop, cross-coupled NAND gates, D-type flip-flops, or thelike.

The gate signal produced by the second synchronizing element 145 and theASIC CLOCK signal of 44.1 kHz are provided as inputs to an AND gate 146.When the gate signal represented by waveform E is high, the AND gate 146outputs an integral number of periods (or cycles) of the ASIC CLOCKsignal. Accordingly, the integral number of cycles of the ASIC CLOCKsignal output (waveform A) by the AND gate 146 is effectively determinedby the pulse width or pulse duration of the gate signal output by thesecond synchronizing element 145.

It will now be understood that the output of the ASIC 140 is acarrier-modulated program information signal, produced by an on/offkeying technique, and is provided from the the synchronizing circuit 142on line 153 to the transmitter circuit 190. The carrier-modulatedprogram information signal, when formatted with appropriate start bits,stop bits, and other formatting information described below, comprises adisplay information signal that is ultimately displayed as alphanumericcharacters on the display of the remote control unit 200.

For the preferred data rate of the program information signal, 4900baud, a logic one level for the program information signal correspondsto nine cycles of the ASIC CLOCK signal. In other words, the fixed datarate for the program information signal is defined by a ratio of thefirst frequency associated with the ASIC CLOCK signal to a selected oneof an integral number of cycles of the first frequency per bit. Forexample, when the first frequency is determined by the SPDIF standard,44.1 kHz, and the integral number of cycles per bit is defined as 9,then the data rate is fixed at 4900 baud. In this manner, the remotecontrol unit 200 efficiently receives the transmitted programinformation signal from the tuner 100 with a minimum amount of jitter inthe received signal. An integral number of cycles per bit is preferredto ensure the accurate reception of the transmitted program informationsignal by the remote control unit 200.

It will be appreciated from the foregoing that the. transmitter 190 andsynchronizing circuit 143 comprise a pulse code modulator that transmitsthe program information signal by gating a signal source correspondingto the program information signal with a gate signal at the firstfrequency. It will also be appreciated that the pulse code modulatorprovides a pulse code modulated (PCM) signal having a predetermined bitrate, and that the gate signal is the 44.1 kHz clock signal.

Still referring to FIG. 3, the remote control transmitter 190 isresponsive to the carrier-modulated program information signal (waveformA) provided on line 153. The microprocessor 150 initiates a transmissionof a program information signal by the tuner 100. In response to theinitiation of a transmission, the ASIC 140 outputs the synchronizedprogram information signal at the rate defined by the first frequency(44.1 kHz) to the remote control transmitter 190.

The output of the ASIC 140 on line 153 is connected to a base terminalof a transistor Q_(T). An emitter terminal of the transistor Q_(T) iscoupled to ground via a resistor RE and a collector terminal of thetransistor Q_(T) is connected to a cathode of a first LED 192. An anodeof the LED 192 is directly connected to a cathode of a second LED 193 toprovide a series combination of LEDs. A voltage source Vs, coupled to ananode of the second LED 193, provides a voltage biasing signal to theseries combination of the first LED 192 and the second LED 193. Thetransistor Q_(T) is preferably a type 25C2710 and each of the LEDs ispreferably an infrared LED marketed by NEC, model SE303A-C. A capacitor194 functions as a decoupling capacitor to filter the voltage sourceV_(s).

When the output signal provided by the ASIC 140 to the base terminal ofthe transistor Q_(T) is high, the transistor Q_(T) turns ON and sets adrive voltage across the resistor RE equal to the voltage level for thesignal applied to the base terminal minus the base-emitter voltage forthe transistor Q_(T). In this manner, the drive voltage determines thecurrent level applied to the first LED 192 and the second LED 193because the transistor Q_(T), in combination with the resistor RE,serves as a current source for the series combination of the LEDs.Consequently, the drive current supplied to the series combination ofthe LEDs is independent of the unregulated voltage provided by thevoltage source V_(S).

Referring now to FIGS. 4-5, when the carrier modulated programinformation signal represented by the waveform A is set at a logic one,the program information signal modulates the series combination of theLEDs at a rate determined by the first frequency, preferably 44.1 kHz.Described in another manner, the synchronized program information signalswitches the transistor Q_(T) ON or OFF to effectively modulate theseries combination of the first LED 192 and the second LED 193 at a ratedetermined by the first frequency. In this manner, the remote controltransmitter 190 transmits a program information message, or displayinformation signal, to the remote control unit 200.

FIG. 5 is a schematic of the remote control receiver 195. The remotecontrol receiver 195 includes a demodulator 196 and a photo diode 197.The photo diode 197 is coupled between an input of the demodulator 196and ground. Specifically, a resistor RA is coupled between an anode ofthe photo diode 197 and ground and a cathode of the photo diode 197 isdirectly connected to the input terminal of the demodulator 196. Whenthe photo diode 197 detects infrared energy, such as a command controlsignal from the remote control unit 200, the photo diode 197 outputs adetected infrared signal to the demodulator 196.

The demodulator 196 is preferably a type μPC1491HA marketed by NECCorporation. Similarly, the photo diode 197 is preferably a model PHD201 marketed by NEC. The demodulator 196 demodulates and filters thedetected infrared signal and provides an output voltage signal to thereceiver input terminal of the microprocessor 150 on line 198. Becausethe output terminal of the demodulator 196 is an open collector output,the output terminal of the demodulator 196 is pulled high via a resistorRB coupled between a voltage supply V_(SS) and the output of thedemodulator 196. The resistor R_(B) also serves as a load resistancebetween the output of the demodulator 196 and the input to themicroprocessor 150.

The demodulator 196 provides the specific functions of preamplification,band pass filtering, and detection of the detected infrared signalprovided by the photo diode 197. The gain of the amplifying circuitincluded within the demodulator 196 is determined by the combination ofa capacitor C_(A) and an external resistor R_(C).

A resistor R_(D), coupled between the voltage supply V_(ss) via aninductive choke L_(A) and the band pass filter center frequency adjustinput of the demodulator 196, determines the tuning frequency of theband pass filter circuit of the demodulator 196, in combination with theinternal capacitor of the demodulator. The tuning frequency typicallyranges from about 30 kHz to about 60 kHz, although the preferredembodiment is fixed at 56.875 kHz.

A capacitor C_(C), coupled between the integral capacitor terminal ofthe demodulator 196 and ground, functions as an integral capacitor tofilter or otherwise eliminate the carrier frequency associated with thedetected signal provided by the photo diode 197. The carrier frequencyis filtered to prevent the carrier frequency from being passed by thedemodulator 196 to the microprocessor 150.

The filter circuit associated with the detector function of thedemodulator 196 is determined by the capacitance value set by anexternal capacitor C_(D). The capacitor C_(D) is coupled between thedetector capacitor input for the demodulator 196 and ground.

A decoupling capacitor C_(E), preferably an electrolytic capacitor,filters the voltage level associated with the power supply V_(SS) thatis applied to the power supply input of the demodulator 196.Accordingly, the capacitor C_(B) filters any interfering any noisesignals supplied by the voltage supply V_(ss).

Remote Control Unit

Referring now to FIG. 6, the preferred remote control unit 200 comprisesa hand-held device including a display 209 for the control of thedigital music tuner 100 and, in addition, for the control of a selectedsecond device such as a cable converter set-top, television receiver,VCR, or the like. The top surface 222 of the remote control unit 200includes an alphanumeric character display 209 and a matrix of contactswitches forming a keypad 216. Each contact switch of the keypad 216 iscovered by a push button or key that includes a label which defines thefunction or instruction initiated when the user presses the push button.In addition, selected areas of the top surface 222 of the remote controlunit 200 include labels or other indicia that further designate thefunction or instruction associated with key.

FIG. 6 further illustrates certain operations conducted by the remotecontrol unit 200, readily identified by the indicia associated withcertain of the keys of the keypad 216. A user, who is a subscriber toboth a digital music service and a cable television service, selects acontrol mode by pressing the CABLE button to initiate the control of acable converter or, alternatively, by pressing the DMX button toinitiate the control of the digital music tuner 100, i.e. the digitalmusic mode of operation. The control mode selected by the subscriber ispreferably displayed by the display 209, preferably with an annunciatorsuch as the indicia 212, CABLE or DMX. Furthermore, the selected moderemains in continuous operation until the subscriber selects anothermode of operation. For the preferred embodiment, the remote control unit200 will operate in a default mode (the DMX or digital music mode) whichenables the control of the digital music tuner 100 after power-on resetor upon a change of the battery.

Upon selecting the digital music mode of operation (DMX), the subscribercan control the functions of the tuner 100 in a manner similar to theuse of currently popular wireless remote control units that control thefunctions of various consumer products, such as television receivers,VCRs, or CD players. Specifically, by pressing a selected key, thesubscriber can initiate the transmission of a control command to thetuner 100 for either controlling a function of the tuner or requestingprogram information associated with a current program provided by thetuner. Each of the buttons or keys of the keypad 216 is labeled toindicate the function associated with the key.

For example, by pressing any key or a set of keys labeled with theArabic numerals 0-9, a subscriber can select one of the available musicchannels provided by the tuner 100 for the listening pleasure of thesubscriber, or alternatively, to select a cable channel when in theCABLE mode. Likewise, the keys labeled TUNE (up arrow) and TUNE (downarrow) may be used by the subscriber to, respectively, increment ordecrement the music channel provided by the tuner 100, or alternatively,the tune the cable channel up or down when in the CABLE mode. In similarfashion, a volume up (VOL up arrow) and a volume down (VOL down arrow)keys can be utilized to control the volume level provided by the tuner100. A POWER key may be utilized by the subscriber to either power on orpower off the tuner 100 or other selected device. Also, a MUTE key isuseful for eliminating the audible portion of the program provided bythe tuner 100. Those persons skilled in the art will appreciate thatsuch control functions are similar to the control functions provided byother wireless remote controls for consumer products.

Other control functions related to the control of the digital musictuner 100 by the remote control unit 200 include the control functionsassociated with the keys LAST, PRESET, STORE, TV, and SCAN. By pressingthe LAST key, the user recalls the last music channel operated by thetuner 100. Furthermore, the user can utilize the PRESET and STORE keysto preset and store a favorite music channel for future operations bythe digital music tuner 100. The TV function, which is provided bypressing the TV key, synchronizes the operation of the tuner 100 with aCATV channel for a simulcast broadcast of high quality audio and videoprogram. The SCAN function permits the user to quickly review or scanthe available music channels provided by the tuner 100.

The subscriber can also review the program information associated with acurrent program by inputting an information request for transmission tothe tuner 100. By pressing the VIEW key, the subscriber initiates thetransmission of an information request by the remote control unit 200 tothe tuner 100. The tuner 100 processes the information request andinitiates a search for program information associated with the currentprogram. If the program information is not found by the tuner 100 withina predetermined time period, typically about two seconds, the tuner 100will respond to the transmitted information request by transmitting anerror message to the remote control unit 200.

Alternatively, if the search conducted by the tuner 100 discovers theprogram information, the tuner 100 will respond to the transmittedinformation request by transmitting the program information to theremote control unit 200 at a predetermined baud rate, preferably 4900baud. The program information comprises the display information signal,described herein, and constitutes a program information message. A firstor display information signal communications protocol associated with atransmission of the display information signals or program informationmessages by the tuner 100 is described in greater detail below.

Upon reception of the program information message, the remote controlunit 200 processes the received program information by checking themessage for a transmission error. The error-checking scheme utilized bythe remote control unit 200 will be described in greater detail below.

After verifying that the message has been correctly received, the remotecontrol unit 200 will direct the program information to the display 209for communicating the message to the subscriber. Because the programinformation message can extend from one to five display fields ofprogram information, the subscriber may be required to use the MOREbutton to display each message field of the program information message.When the last display field associated with the program informationmessage is displayed by the display, the subscriber's next selection ofthe MORE button will cause the first display field to again be displayedby the display 209.

With respect to digital music signals, a typical program messageincludes information concerning the composer, the track title, theartist, and the album associated with the track title. Furthermore, themessage may also include additional custom information concerning thecurrent performance. The remote control unit 200 will also displayoperational messages indicating the progress of the processing of theinformation request, confirm the correct reception of the programinformation message, and provide an indication of errors if such errorsoccur during reception or processing.

During the CABLE mode of operation by the remote control unit 200, whichis enabled when the subscriber presses the CABLE button, the remotecontrol unit 200 will operate to control a selected cable televisionconverter, otherwise known as a set-top, for a group of set-tops. Thesubscriber programs the remote control unit 200 to operate with thesubscriber's existing set-top (or other selectable remotely controllabledevice) by pressing the CABLE and MORE buttons simultaneously for a timeperiod greater than two seconds. In response to the subscriber's action,the display 209 will display a plurality of options for selection by thesubscriber, for example, which one of a plurality of set-top convertersthe subscriber possesses. If the subscriber has already selected aset-top option, the currently chosen set-top option will be displayed bythe display 209. Furthermore, additional options for set-tops or otherremotely controllable devices that are operative for remote control bythe remote control unit 200 are displayed for viewing by the subscriberwhen the subscriber presses the button MORE. In this manner, a menu ofoptions will be provided to the subscriber to permit the subscriber toselect a device for control by the remote control unit 200.

When the display 209 displays an option that matches the subscriber'sdevice, the subscriber can select the presently displayed option bypressing the CABLE button to enable the remote control unit 200 tocontrol the selected device. The option selected by the subscriber inthis manner will continue to remain programmed for control by the remotecontrol unit 200 until a power reset occurs or until the time that thesubscriber elects another option. After a power reset of the remotecontrol 200, the selected option will be cleared, thereby necessitatinga new selection by the subscriber.

It should be understood that the preferred remote control unit 200 ispre-programmed to control a predetermined plurality of set-top converterunits marketed-by a variety of vendors within the CATV industry. Ingeneral, each vendor's set-top requires a unique second or controlcommunications protocol for controlling the selected vendor's units.Consequently, the remote control unit 200 includes a preprogrammed readonly memory (ROM) programmed to include a control communicationsprotocols associated with the selected group of set-tops.

Referring now in this regard to FIG. 7, the preferred remote controlunit 200 includes a processor 203, preferably a microcomputer ormicrocontroller, having on-board mask programmed memory, such as a readonly memory (ROM) 203a. The memory 203a comprises a plurality of memorylocations for storing parameters associated with various control signalprotocols (in particular, for storing a plurality of parametersassociated with different control protocols for different controllabledevices). The preferred remote control unit 200 further includes areceiver 201, a transmitter 205, keypad 216, and a display 209.

In the preferred embodiment, the set-top control signal protocols arestored in the ROM 203a. Thus, when the subscriber selects a set-top orother device for control, the subscriber also selects the proper controlsignal protocol to communicate with and control the selected device. Thecontrol protocol includes the properly formatted codes associated withcontrol functions for the selected set-top or other-device.

For example, when the subscriber selects a Scientific Atlanta set-top(such as the Scientific Atlanta model 8600 set-top, one of the devicesthat is controllable by the preferred remote control unit 200), certainkeys on the keypad 216 may be utilized by a subscriber to initiate acontrol function suggested by the label attached to the selected key, asdescribed above.

The remote control unit 200 operates to control selected functions ofthe digital music tuner 100, as well as control selected functions of aselected controllable device, preferably the CATV converter set-top 300(FIG. 1), and to receive program information associated with a currentprogram provided by the digital music turner 100. Nevertheless, thosepersons skilled in the art will appreciate that the remote control unit200 could also receive video program information from the CATV set-topconverter 300 if the converter is capable of receiving, processing, andsending a video program information signal associated with the videodata. The following description concerning the communication of programinformation associated with digital audio data between the tuner 100 andthe remote control unit 200 is representative of a communication ofvideo program information data between a video program informationcompatible set-top and the remote control unit 200.

Referring again to FIG. 7, for a first operation mode, programinformation signals are received by the receiver 201 from the remotecontrol transmitter 190 of the tuner 100. The received signal is theninput into the processor 203 which processes and sends the programinformation signal to the display 209 for communicating programinformation corresponding to the currently playing audio track to auser. The display 209 is preferably an LCD, although an LED, a braillereader, a voice synthesizer, or a cathode-ray tube or any othercommunicating device could also be utilized as may be appreciated bythose skilled in the art. Audible or tactile communicating means wouldallow communication of the program information signals to users withdisabilities, as would the use of the remote control unit.

Preferably, the two-way communications link between the digital musictuner 100 and the remote control unit 200 is an IR communications link.However, RF, ultrasonic, wire, fiber-optic cables, or other means couldbe used as those skilled in the art can appreciate. The concept couldalso be extended to carrying the information on the household powerlines, telephone wires, coaxial cable, fiber-optic cable, or means otherthan the direct connection of a cable to the first controlled device.

The keypad 216 receives control commands, such as program informationcommands associated with a request for program information, digitalmusic tuner control commands associated with the control of the tuner100, or set-top control commands associated with the control of aset-top converter 300, from a subscriber, which are sent to theprocessor 203. Those persons skilled in the art will recognize that eachof the commands is input by a user to initiate the control of a selectedfunction for either the tuner 100 or the set-top 300 by the remotecontrol unit 200.

The processor 203 converts and sends a program information command orrequest and the digital music tuner control commands to the transmitter205, which subsequently transmits the appropriate control signals to theremote control receiver 195 associated with the tuner 100. The receivedsignal is input into the microprocessor 150 by the receiver 195, whereappropriate signals are sent therefrom to the ASIC 140 and the tuner 110so as to bring about the subscriber's desired control function, such asthe selection of an audio track, audio channel, or the transmission ofprogram information. Similarly, the processor 203 converts and sends theset-top control command signal to the transmitter 205, whichsubsequently transmits the set-top control command to the set-topconverter 300 to initiate a particular commanded function.

The digital music tuner 100 could automatically update the display 209whenever there has been a change in programming. For example, the tuner100 could repeatedly or automatically transmit program information viathe remote control transmitter 190 as opposed to transmission only inresponse to being polled (that is, a program information request is sentby the remote control unit 200). However, such an automatic updateprocess might result in brief intervals during which the use of othercontrol operations might be disrupted. Instead, in the preferredembodiment, before a program information signal is sent from the tuner100, a program information request signal is sent by the transmitter 205in the remote control unit 200. Nevertheless, those persons skilled inthe art will recognize that the tuner 100 may operate to transmitprogram information either in response to being polled, or repeatedly.

The user may utilize the combination of the keypad 216 and the display209 to select a set-top (or other controllable device) from a group ofset-tops (or other controllable devices) and thereby enable the remotecontrol unit 200 to control the selected set-top (or other controllabledevice). In this manner, the remote control unit 200 provides theflexibility of allowing the user to control an existing set-top if theexisting set-top is included within the group of controllable set-tops.When the keypad 216 receives the appropriate control command from theuser, the keypad 216 sends a selection command to the processor 203,which, in turn, processes the selection command and sends set-top menuselection data to the display 209.

In response to the set-top menu data, the display 209 displays a listingof the group of set-tops that are compatible for control by the remotecontrol unit 200. The user can subsequently select a controllableset-top from the group identified by the display 209 by using the keypad216 to input a set-top selection signal. The processor 203 accepts theset-top selection signal from the keypad 216 and enables the remotecontrol unit 200 to control the selected set-top. The group of set-topsare preferably representative of the popular converter set-tops marketedby various vendors and available for present use by user.

Once a particular set-top converter (or other controllable device) isselected for operation, the preferred processor 203 is further operativefor storing identification indicia in a memory, such as a scratchpadmemory associated with the preferred microcomputer, corresponding toselection of the selected controllable device from amongst the pluralityof controllable devices. The remote control unit 200 is thereafteroperative to retrieve protocol parameters corresponding to theidentification indicia from the scratchpad memory, so that appropriatecontrol protocol for the selected device is utilized for communicationsto the selected device.

Although the preferred embodiment operates to control a controllableset-top selected from a group of set-tops, the remote control unit 200could also be programmed to enable a user to select and control anothercontrollable device selected from a group of controllable devices, suchas digital music tuners, VCRs, television receivers, and the like. Thoseskilled in the art will appreciate that the user could select acontrollable device from a group of controllable devices in a mannersimilar to the selection of the controllable set-top heretoforedescribed.

Still referring to FIG. 7, the memory 203a stores the incoming programinformation signal, the identification indicia associated with theselected controllable device, the set-top menu data, and operatingsoftware for the processor 203. The memory 203a preferably includes bothrandom access memory (RAM) and read only memory (ROM). For the preferredembodiment, the RAM is utilized to temporarily store the programinformation prior to communicating such data via the display 209, aswell as the identification indicia. In contrast, the ROM is utilized tostore utilized to improve both the on-axis IR receiver range and theoff-axis IR receiver range by increasing the received signal level incomparison to the signal level achieved by the use of only a single PINphoto diode as an IR receiver. Each of the photo diodes D1 and D2 ispreferably a model PH310 marketed by NEC Corporation.

Although a photo diode will detect an IR signal without the applicationof a reverse-bias voltage signal, the voltage level provided by V_(cc),when selectively applied to the cathode of each of the photo diodes D1and D2 via the voltage junction V₁ increases the sensitivity of eachdiode to IR signal energy. A resistor R2, connected between the junctionformed by the cathodes of the photo diodes D1 and D2 and the voltagejunction V₁, functions as a bias resistor to apply the proper DC voltagebias level to the diodes.

A capacitor C4 coupled between the junction formed by the cathodes ofthe photo diodes D1 and D2 and Found, functions as a decoupling filterto AC filter the voltage level provided by the power supply V_(cc), andthereby provide a proper AC ground for the diodes D1 and D2.

The voltage level associated with the voltage junction V₁, a junctionbetween the collector terminal of a transistor Q2 and a resistor R4, isdetermined by the operating state of the transistor Q2. In turn, theoperating state of the transistor, preferably a PNP transistor, isdetermined by the bias voltage signal applied by the processor 203 tothe base terminal of the the operating software and a plurality ofparameters associated with different communications protocols associatedwith the various groups of controllable devices. Those skilled in theart will appreciate that the memory 203a either could be internal orexternal to the processor 203.

Referring now to FIGS. 8A and 8B, the details of the preferred remotecontrol unit 200 will be provided. The processor 203 in the preferredembodiment is a type Z86C40 marketed by Zilog, Inc., and is selected forlow cost and low power consumption features. The preferred Z86C40 is aCMOS 8-bit, single-chip microprocessor having 4k bytes of internal ROMand 236 bytes of RAM. Consequently, the memory 203a is internal to thepreferred Z86C40 as internal RAM and ROM. The preferred processor 203includes plurality of input/output ports, designated with as PXY, whereX is a port identifier numeral and Y is a particular pin identifier of agiven port.

The receiver 201 in FIG. 8A includes a preamplifier 210 and a parallelcombination of PIN photo diodes D1 and D2. The photo diodes D1 and D2are coupled between a voltage junction V₁ and the input of the remotecontrol preamplifier 210. Each of the PIN photo diodes D1 and D2receives the program information message signal transmitted by theremote control transmitter 190 of the digital music tuner 100, and theparallel combination provides a detected information signal having aparticular carrier frequency to the preamplifier 210. The parallelcombination of photo diodes D1 and D2 is preferably transistor Q2. Aresistor RS, coupled between one of the output port lines P35 of theprocessor 203 and the base terminal of the transistor Q2, functions as abase bias resistor to determine the proper bias level for the voltagesignal supplied by the processor 203.

When the P35 output of the processor 203 is low, the transistor Q2 isturned ON and, simultaneously, the junction between the collectorterminal of the transistor Q2 and the resistor R4, otherwise defined asthe voltage junction V₁, is elevated to approximately the-voltage levelset by the power supply V_(cc). The operating state of the transistorQ2, as controlled by the processor 203, determines the operating stateof the receiver 201 because voltage level associated with the powersupply V_(cc) is applied to the power supply input of the preamplifier210 and each cathode of the parallel combination of the diodes D1 and D2only when the transistor Q2 is in the ON state. In this manner, thereceiver 201 drains current from the power supply V_(cc), preferably abattery BT₁, only when the processor 203 is operational, i.e., when theremote control 200 is utilized by the user. The power supply V_(cc) is apositive voltage source set for an operational voltage of +5 volts.

Provided, for example, as a type μPC1473HA marketed by NEC Corporation,the remote control preamplifier 210 provides the functions ofpreamplification, peak detection, and output waveform shaping. Thepreamplifier 210 accepts the detected information signal produced by thecombination of the photo diodes D1 and D2 and provides an amplified andfilter voltage signal for sufficient amplitude and waveform shape forprocessing by the processor 203. Those skilled in the art willappreciate that the preamplifier 210 effectively operates as ademodulation system that demodulates the detected information signal byfiltering the particular carrier frequency and providing a pulsedvoltage signal as an output signal to the processor 203.

Still referring to FIG. 8A, a tuning circuit 204 formed by thecombination of inductors L1 and L2, capacitors C1 and C9, and a resistorR1, in conjunction with an external resistor R3, determines the gain forthe preamplifier 210. Specifically, the gain for the preamplifier 210 iscalculated as the ratio of the impedance provided by the tuning circuitto the resistance value set by the external resistor R3.

The tuning circuit 204 provides a high impedance value at the carrierfrequency for the transmitted information signal, in this case, 44.1kHz, while simultaneously setting a relatively large bandwidthcharacteristic for the preamplifier 210 that includes attenuation ofout-of-band signals.. The bandwidth requirement for the preamplifier 210is determined by the data rate of the transmitted information signalreceived by the receiver 201. In the preferred embodiment, the bandwidthof the preamplifier 210 is about 24 kHz to 32 kHz, for a preferred datarate of 4900 baud associated with the transmitted information signal.

The tuning circuit 204, comprising the inductor L1, the inductor L2, thecapacitor C1, and the capacitor C9, provides a fourth order symmetricalband pass filter. The tuning circuit 204 is adjusted by the inductor L2to provide a filter center frequency of 44.1 kHz.

The tuning circuit 204 provides a transfer function that includes threezeroes at zero frequency (DC) and one zero at infinite frequency. Thistransfer function defines the out-of-band attenuation characteristic forthe band pass filter. In particular, the three zeroes at zero frequencydefine an out-of-band attenuation characteristic that approaches 60dB/decade at very low frequencies near the zero frequency. In addition,the one zero at infinite frequency defines an out-of-band attenuationcharacteristic of approximately 20 dBb/decade at frequencies much higherthan the band pass frequency.

The resistor R1 operates as a load resistance and sets the bandwidth andthe shaping of the tuning circuit 204. Specifically, the tuning circuit204 operates to transform the resistance value associated with theresistor R1 to a much higher impedance at the center frequency of thepass band filter provided by the tuning circuit 204. The tuning circuit204 insures that the maximum gain for the preamplifier circuit of thepreamplifier 210 is set at the carrier frequency of interest, 44.1 kHz.

In addition, a capacitor C3, coupled between ground and the externalresistor R3, forms an RC filter with the external resistor R3 todetermine the low frequency characteristic for the preamplifier 210. Inparticular, the combination of the capacitor C3 and the externalresistor R3, functions as a high pass filter to filter low frequencysignals below approximately 3 kHz and thereby eliminate interferencesignals such as fluorescent light interference.

The time constant for the peak hold circuit associated with the peakdetection function of the preamplifier 210 is determined by thecapacitance value set by a capacitor C2. The capacitor C2 is coupledbetween the peak hold capacitor input for the preamplifier 210 and thevoltage junction V₁. A capacitor C5, coupled between the integralcapacitor terminal of the preamplifier 210 and ground, functions as anintegral capacitor to delete the carrier waveform associated with thetransmitted information signal. The carrier frequency is filtered toprevent the carrier frequency of 44.1 kHz from being passed by thepreamplifier 210 to the processor 203.

A decoupling capacitor C8, preferably an electrolytic capacitor, filtersthe voltage level associated with the power supply V_(cc) that isapplied via the junction V₁ to the power supply input of thepreamplifier 210. In this manner, the capacitor C8, coupled between thepower supply input for the preamplifier 210 and ground, filters anyinterfering noise signals supplied by the power supply V_(cc).

The output of the preamplifier 210, which is an open collectortransistor, is pulled-up to the voltage of the power supply V_(cc)through the resistor R4, which is coupled between the output of thepreamplifier 210 and the collector terminal of the transistor Q2. Theoutput of the preamplifier 210 is provided to input port P30 of theprocessor 203. The resistor R4 further determines the impedance levelbetween the input of the processor 203 and the output of thepreamplifier 210.

The processor 203 in FIG. 8B operates upon the output signal andprovides processed information data to the display 209 in the form ofalphanumeric characters. The display 209 includes a display driver 218,a drive voltage circuit 219, and a matrix display 220. The displaydriver 218 and the matrix display 220 are preferably matched componentsprovided by the same vendor, such as the HD44100H driver and the HD44780display marketed by Hitachi. Those skilled in the art will recognizethat a single module including both the driver and LCD display functionscould also be utilized to provide the display 209.

The operating clock for the processor 203 is set by a crystal Y1. In thepreferred embodiment, the crystal Y1 operates at a frequency of 8.192MHz. Capacitors C6 and C7, each coupled between a selected terminal ofthe crystal Y1 and ground, function to filter interference signals fromthe clock signal provided by the crystal Y1 to the processor 203.

The output port P34 of the processor 203, which is connected to the baseterminal of a transistor Q3 via a bias resistor R14, controls theoperating state of the transistor Q3 and, consequently, the operatingstate of the display 209, including the driver 218, the drive circuit219, and the matrix display 220. The emitter terminal of the transistorQ3 is connected to the power supply V_(cc) and the collector terminal ofthe transistor Q3 is connected to the voltage supply input of the driver218. The transistor Q3 is preferably a PNP transistor.

Because the processor 203 provides a bias signal through the biasresistor R14 to the base terminal of the transistor Q3, the transistorQ3 is turned on when the P34 output of the processor 203 is low. Thecollector terminal of the transistor Q3 shifts to a voltage level thatis approximately the voltage provided by the power supply V_(cc) duringthe ON state for the transistor Q3. In this manner, the supply voltageprovided by the power supply V_(cc) is directed to the voltage supplyinput of the driver 218. Similar to the operation of the receiver 201,the display 209 drains supply current from the power supply V_(cc) onlywhen the processor 203 operates to provide the proper bias signal toturn the transistor Q3 ON and thereby provide a signal path between thepower supply V_(cc) and the driver 218.

In addition, the voltage level at the collector terminal of thetransistor Q3 determines the drive voltage signals provided by the drivevoltage circuit 219 to the driver 218. The drive voltage circuit 219includes the transistor Q3, a set of series resistors R8--R13, and theresistor R14. Specifically, the set of series resistors coupled betweenthe collector terminal of the transistor Q3 and ground, resistorsR8--R13, are tapped at selected junctions between selected pairs of theresistors to determine the drive voltages applied to the driver 218. Thefirst resistor in the series set, the resistor R8, is coupled betweenthe emitter terminal of the transistor Q3 and the next resistor in theseries set, the resistor R9. Likewise, the last resistor in the seriesset, the resistor R13, is coupled between ground and the next-to-lastresistor in the series set, the resistor R12.

For example, a first junction between the resistor R8 and the resistorR9 determines a first drive voltage level applied to driver 218. Thefirst drive voltage level is determined by the voltage drop associatedwith the application of the collector terminal voltage through theresistor R8. In similar fashion, the second drive voltage level appliedto the driver 218 is determined by the voltage drop set by theapplication of the collector voltage level through the resistor R8 andthe resistor R9. Likewise, the third, fourth, and fifth drive voltagesare determined by the cumulative voltage drops set by the selectedseries resistors.

The processor 203 provides processed information data to the driver 218after the processor 203 provides a read-write signal and an enablesignal to the driver 218. Subsequently, the driver 218 operates upon theprocessed information data and provides the processed information datafor display by the matrix display 220. For the preferred matrix displayHD44780, the matrix display is an LCD that is programmed to display twolines, each line consisting of 16 dot matrix characters for a totaldisplay of thirty-two (32) characters.

The keypad 216, which comprises a matrix of contact switches, isconnected to the processor 203 to enable the user to input commands forthe operation of the remote control unit 200. The keypad 216 defines amatrix of four rows 216AD by seven columns 216A-G of contact switches.Each of the rows 216A-216D is directly connected to an input port lineof the processor 203. In contrast, each of the columns 216A-216G isconnected to inputs of the processor 203 via a resistor selected fromresistors R14-R20. The processor 203 scans the contacts associated witheach of the matrix of contact switches to detect a threshold voltageindicating that the user has pressed a selected switch or switches.

Each of the contact switches for the keypad 216 represents aninstruction associated with the control of a control device or thecontrol of the functions associated with the remote control unit 200.Accordingly, by pressing a selected contact switch or, alternatively,pressing a selected sequence of contact switches, the user can send aninstruction for operation by the processor 203.

The optical signal transmitter 205 includes a transistor Q1, a currentlimiting resistor R6, a bias resistor R7, and an infrared LED D3. TheP36 output of the processor 203 is connected to the base terminal of thetransistor Q1 through the bias resistor R7. The collector terminal ofthe transistor Q1 is coupled to the cathode of an LED D3 via the currentlimiting resistor R6 and the emitter terminal of the transistor Q1 isconnected to ground. The anode of the LED D3 is connected to the powersupply V_(cc). The transistor Q1 is preferably a high speed switchingtransistor, such as the NPN transistor provided by the model 25C2001.The LED D3 is an IR light emitting diode, preferably a model SE303marketed by NEC Corporation.

To initiate the transmission of a control command signal, the processor203 provides the control command signal to the base terminal of thetransistor Q1 at a predetermined carrier frequency, preferably 56.875kHz. For example, when the P36 output of the processor 203 goes high,the collector terminal of the transistor Q1 also goes high toreverse-bias the LED D3. Accordingly, the P36 output of the processor203 switches the transistor Q1 ON and OFF and thereby produces,respectively, a high or low voltage level at the collector terminal ofthe transistor Q1 that, in turn, forces the LED3 to either the ON or OFFstate. By operating as a transistor switch, the transistor Q1 enablesthe output of the processor 203 to effectively modulate, the LED D3 toeffect the transmission of an IR control command signal.

It will be appreciated that the foregoing discloses a remote controlsystem for controlling the digital music tuner 100 and the CATVconverter set-top 300 by use of a remote control unit 200, andfurthermore, for communicating program information corresponding to aselected set of digital audio data between the tuner 100 and the remotecontrol unit 200, wherein the remote control unit 200 is remotelylocated from the tuner 100 and the set-top 300.

FIG. 9 is a state diagram and FIGS. 10A an 10B are state tablesillustrating the various states of operation for the remote control unit200 as implemented by the operating software of the processor 203. Theremote control unit 200 operates in one of eight separate states afterthe user powers-up the remote control unit. Specifically, the remotecontrol unit 200 can operate in one of three independent idlestates--state 1, otherwise referred to as an idle mode with display;state 2, otherwise referred to as an idle mode without display; andstate 3, otherwise referred to as an idle mode with mode annunciators.

During each of the idle states, states 1-3, the remote control unit 200does not operate to receive program information from the tuner 100, nordoes the remote control unit 200 operate to control either the tuner 100or a selected set top 300. Instead, the remote control unit 200 is idle,or in essence, waits for the user to initiate an operation, such as thereception of a program information message from the tuner 100, thecontrol of either the tuner 100 or the set-top 300 via the keypad 216,or the selection of a particular set-top from the group of set-tops toinitiate the control of that set-top by the remote control unit 200.

The remote control unit 200 can also operate in either state 4, atransmit mode, or state 5, a data receive mode. During the transmitmode, the remote control unit 200 operates to transmit a control commandin response to the user inputting such a control command via the keypad216. In contrast, during the receive mode, the remote control unit 200operates to receive a program information message from the tuner 100.

The remote control unit 200 can further operate in an error displaystate, otherwise referred to as state 6. During the error display state,the remote control unit 200 operates to display an error message to theuser via the display 209. Such error display messages preferably includesuch messages as "ERROR--PLEASE TRY AGAIN", "NO DATA RECEIVED PLEASE TRYAGAIN", "NO DATA AVAILABLE", or the like.

During state 7, an information display state, the remote control unit200 operates to provide the user with a display of a current field ofinformation, such as a data definition or category (such as ARTIST, orTITLE) and an associated data field of a program information messagethat may contain as many as five data fields.

During a final state of operation, state 8, otherwise known as a cableset-up mode, the remote control unit 200 operates in a mode that enablesthe user to select a preferred set-top for control by the remote controlunit 200.

The preferred display 209 is operative to display textual information bydisplaying alphanumeric characters. During the idle mode with display,the display 209 provides one of two annunciators 212 (see FIG. 6)--CABLEcorresponding to cable mode, or DMX corresponding to tuner control mode.For the preferred embodiment, upon power-up, the display 209 displaysthe DMX annunciator and is operative to control the tuner 100 as thedefault mode of operation.

If the user does not press a key located on the keypad 216 within apredetermined time period T₁, preferably 2 seconds, the remote controlunit 200 will change operating states and move to state 2, the idle modewithout display. During the idle mode without display, the display 209remains blank and does not provide the user with any display concerningeither cable or DMX mode information. Furthermore, the display 209 doesnot display either the DMX annunciator or the CABLE annunciator. Theremote control unit 200 will remain within the idle mode without displayuntil the user presses a key located on the keypad 216, to conservebattery power.

For the idle mode with annunciator state, the display 209 will displayeither the DMX annunciator or the CABLE annunciator for the appropriateactive mode of operation. The remote control unit 200 will remain withinthe state 3, the idle mode with annunciator, during a time period T₂,preferably about 0.5 seconds. After the time period T₂ expires, theremote control unit 200 changes operating states and returns to state 2,the idle mode without display, to conserve power.

During the transmit state, the display 209 does not provide the userwith a textual display; however, the display 209 indicates the operatingmode of the remote control unit 200 by providing either the DMXannunciator or the CABLE annunciator. Upon entering the transmit statein response to the input of a control command via the keypad 216, theremote control unit 200 does not accept another control command input bythe user until the initial transmission is completed by the remotecontrol unit 200. Specifically, the user cannot utilize the CABLE key,the DMX key, the VIEW key, the MORE key, or any other control commandkey during the time interval that the remote control unit 200 operatesin the transmit state. Upon completing a transmission, the remotecontrol unit 200 changes operating states and moves to the state 3, theidle mode with annunciator.

During the state 5, the data receive state, the display 209 displays thetextual message "RETRIEVING DATA". In addition, the display 209 providesthe user with an indication of the operating mode of the remote controlunit 200 by providing the user with either the DMX annunciator or theCABLE annunciator. During the data receive state, the remote controlunit 200 operates to receive a program information message from thetuner 100. The user cannot utilize the CABLE key, the DMX key, the VIEWkey, the MORE key, or any other control command key during the timeinterval that the remote control unit 200 operates in the data receivestate. If the remote control unit 200 does not receive any data after apredetermined time period T₃, preferably about two seconds, the remotecontrol unit 200 changes operating states and moves to the error displaystate to provide the user with the second message "NO DATA RECEIVEDPLEASE TRY AGAIN".

In addition, if the remote control unit 200 receives a bad or incompleteprogram information message from the tuner 100, the remote control unit200 also moves to the state 6, the error display state, to display anerror message such as "ERROR--PLEASE TRY AGAIN". Likewise, when theremote control unit 200 receives a program information message thatcontains all empty data fields, otherwise referred to as an emptymessage, the remote control 200 changes operating states and moves tothe error display state to display the error message "NO DATAAVAILABLE".

During the error display state, the display will provide the user withan error display message for a predetermined time interval, T4,preferably five seconds. After the expiration of the predetermined timeinterval T₄, the remote control unit 200 changes operating states byreturning to state 2, the idle mode without display.

However, if the remote control unit 200 receives an error-free message,otherwise known as a good message, the remote control unit 200 changesoperating states by moving to the state 7, the information displaystate, to display the data fields of the program information message.

The remote control unit 200 will provide the user with a display of acurrent field of information for a predetermined time period T₅,preferably about ten seconds. After the expiration of the predeterminedtime period T₅, the remote control unit 200 moves to the idle modewithout display.

The user can enter the state 8, cable set-up mode, from any of theoperating states, except for the states 4 and 5, the transmit and datareceive states, by pressing the CABLE and MORE keys simultaneously for atime period greater than a predefined time interval T₆, preferablygreater than two seconds. By entering the cable set-up mode, the usercan select the preferred set-top for control by the remote control unit200.

During the control set-up mode, the display 209 will provide the userwith a menu of selectable controllable set-tops. In particular, thedisplay 209 will provide the user with a textual display of an easilyrecognizable name for a controllable set-top. When the user presses theMORE key, the display 209 will provide the user with a textual displayof another such set-top option. In this manner, the user can scrollthrough a menu of selectable set-tops by pressing the MORE key. Once theuser reaches the final controllable set-top choice included within thedisplayable menu, the display 209 will again provide the user with adisplay of the first controllable set-top choice when the user nextpresses the MORE key.

When the display 209 displays the textual information concerning theuser's preferred set-top, the user can select that controllable set-topfor control by the remote control unit 200 by pressing the CABLE key.Upon locking-in the user's choice of the controllable set-top, theremote control unit 200 returns to the state 1, the idle mode withdisplay. Moreover, identification indicia are stored in the memory 203acorresponding to selection of a selected controllable device fromamongst the plurality of controllable devices. The remote control unit200 is thereafter operative to retrieve protocol parameterscorresponding to the stored identification indicia in memory, so thatthe appropriate control protocol for the selected device will be usedfor sending signals to the selected device. If the user does not presseither the CABLE key or the MORE key within a time period defined by T₅,the remote control unit 200 returns to state 2, the idle mode withoutdisplay.

By pressing a selected key located on the keypad 216, the user canchange the operating state of the remote control unit 200. Inparticular, by pressing the CABLE key, the DMX key, the VIEW key, theMORE key, or all other control command keys, otherwise known as thetransmit keys, the user can change the operating state of the remotecontrol unit 200.

By pressing the CABLE. key during any of the idle states, states 1-3,the error display state, or the information display state, the user canselect the cable mode of operation for the remote control unit 200.After the user presses the CABLE key, the cable mode of operation is setand the remote control unit 200 returns to the state 1, the idle modewith display. In contrast, during the transmit state and the datareceive state, the user cannot select the cable mode of operation bypressing the CABLE key because the remote control unit 200 does notaccept such a keyboard input by the user during such operating states.In addition, during the cable set-up mode, the user selects thepreferred controllable set-top by pressing the CABLE key and,consequently, the user cannot select the cable mode of operation bypressing the CABLE key in the state 8.

Similar to the CABLE key, the user selects the DMX mode of operation bypressing the DMX key during each of the idle states, states 1-3, theerror display state, and the information display state. After pressingthe DMX key, the remote control unit 200 operates in the DMX mode andreturns to the idle mode with display. The user does not effect a changeof operational states by pressing the DMX key during the transmit state,the data receive state, or the cable set-up mode state.

By pressing the MORE key during each of the idle states, the remotecontrol unit 200 moves to the state 6, the error display state, todisplay the error message "ERROR PLEASE TRY AGAIN" on the display 209.In contrast, when the MORE key is selected by the user during theinformation display state, the display 209 displays the next data fieldof information, such as a data field of the program information message,when the processor 203 increments a software pointer to prompt thedisplay 209 to display the next date field. However, the user cannotinitiate an operation by pressing the MORE key during the transmitstate, the data receive state, or the error display state.

After the user presses the VIEW key during any of the idle states, theerror display state, or the information display state, the remotecontrol unit 200 returns to the data receive state to initiate theoperation to receive a program information message from the tuner 100.The user cannot initiate the data receive state by pressing the VIEW keyduring the transmit state, or the cable set-up mode state. Likewise, theVIEW key does not initiate another data receive operation when theremote control unit 200 is already operating with the data receivestate.

The majority of keys located on the keypad 216 are control command keysthat permit the user to initiate a selected control command function forthe tuner 100 during the DMX mode of operation or the set-top 300 forthe CABLE mode of operation. During each of the idle states, states 1-3,the error display state, and the information display state, the userinitiates the transmit state by pressing any of the control commandkeys, otherwise referred to as the transmit keys. However, the usercannot initiate the transmit state if the remote control unit 200 iscurrently operating within the data receive state or the cable setupmode state. Likewise, the user cannot initiate another control commandby pressing a control command key when the remote control unit 200 ispresently operating in the transmit state to initiate a previouslyselected control command.

FIG. 11 depicts aspects of the selection of a second or controlcommunications protocol associated with the control of a selectedcontrollable device, such as a set-top selected from a group ofcontrollable set-tops, or the control of the tuner 100. The user canselect a CATV set-top converter, such as the set-top 300, from a groupof controllable set-tops communicated by the display 209 during theoperation of the remote control unit 200 in state 8, the cable set-upmode. By selecting a controllable set-top during the cable set-up modestate, the remote control unit 200 is enabled to control the selectedfunctions of the selected set-top. Specifically, during the cable set-upmode, the user's set-top selection, which is displayed by the display209, is input via the keypad 216 to the processor 203 to initiate theselection of the appropriate second communications protocol associatedwith the selected set-top. The processor 203 retrieves from memory 203aappropriate protocol parameters associated with different controlprotocols corresponding to different controllable devices, and assemblesa complete control message formatted in a selected control or secondcommunications protocol for the selected device. The appropriatelyformatted control message is provided to the transmitter 205, whichtransmits a control command signal within the second communicationsprotocol associated with the selected set-top.

It will be understood that, in the preferred embodiment, more than onesecond communications protocol is stored within the memory 203a,preferably ROM, because, in general, each vendor's controllable set-tophas a separate and unique second communications protocol associated withthe control-Of selected functions for that vendor's selected set-top.

FIG. 11 illustrates that that memory 203a comprises a plurality ofmemory locations for storage of selected parameters of secondcommunications protocols associated with the group of controllabledevices that may be controlled by the use of the remote control unit200. Likewise, the memory 203a stores selected parameters of the secondcommunications protocol associated with the digital music tuner 100.Although in the preferred embodiment, the user is not provided with anoption to select a digital music tuner from a group of controllabledigital music tuners, those skilled in the art will appreciate that theremote control unit 200 could be programmed to control one of a group ofcontrollable digital music tuners and, therefore, the memory 203a couldinclude parameters of second communications protocols associated with agroup of controllable digital music tuners.

It should be understood at this juncture that communication protocols(such as control protocols) typically have several layers, each of whichmay be considered a "protocol" in and of itself. For example, and shownin FIG. 11 and as described below in connection with FIG. 12, variousdifferent remote control devices utilize different device level ortransmission level protocols for defining a logical "1" and a logical"0" generated by a transmitting device. By example and not by way oflimitation, a typical logical "1" comprises a period T1 of modulatedcarrier, a period T2 of no carrier, a period T3 of modulated carrier,and a period T4 of no carrier. A typical logical "0" comprises a periodT1 of modulated carrier, a period T2 of no carrier, a period T3 of nocarrier, and a period T4 of no carrier. Storage of the parameters T1,T2, T3, and T4, plus the period T5 of the modulated carrier, uniquelyidentify the protocol or bit format for "1" and "0".

In addition to such device level or transmission level protocols such asbit format protocols, there are protocol parameters associated withcharacter definition or word definition, sometimes called characterlayer protocols. For example, characters or words typically comprise apredetermined number of bits, such as 7 or 8, sometimes with start andstop bits. As shown in FIG. 11, again by way of example and not by wayof limitation, a typical word format or character format compriseseleven bits, with a "0" start bit, followed by five pair of data bitsand complemented data bits, Bit 4, Bit 4/, Bit 3, Bit 3/, Bit 2, Bit 2/,Bit 1, Bit 1/, Bit 0, Bit 0/. Thus, a word format protocol may requirestorage in memory 203a of a parameter or parameters indicative thateleven bits of information are required to define a word or character,with the first bit being a "0" start bit.

There are yet still further layers of protocols sometimes utilized indata communications. For example, a message layer protocol typicallyentails assembly of groups of characters into predetermined messageportions. FIG. 13 below illustrates the assembly of characters providedwith lower layer protocols to form a message or a control command.

For purpose of the present invention, a "protocol" is not meant to belimited to either device layer, character or word layer, or messagelayer protocols, it being understood that any or all of such protocolsare defined by predetermined parameters, and that all of such parametersrequired to completely define a communication or message from the remotecontrol unit 200 to a selected controlled device are stored in thememory 203a.

FIG. 11 also shows exemplary storage of typical protocol parameters andselection of same for a selected device. For example, the remote controlunit is operative to select one of controllable devices 1 through n. Asdescribed above in connection with state tables of FIGS. 10A and 10B,when in the cable set-top mode (state 8), the current set top selectionis displayed on the display 209. The current set top selection comprisesthe NAME TO DISPLAY shown in FIG. 11, which constitutes alphanumericcharacters associated with the device.

Associated with the displayed NAME TO DISPLAY is a pointer 202 to memorylocations, denominated POINTER TO TRANSMIT PARAMETERS. This pointer 202is a software pointer to locations in the memory 203a. These memorylocations store the protocol parameters required to communicate with aselected device, such as a TRANSMIT ROUTINE #, CUSTOM ID CODE, KEY DATA1 . . . KEY DATA n, and time parameters T1, T2, . . . Tn.

The TRANSMIT ROUTINE # comprise software routines for the processor 203that enable the processor to implement a particular or selected controlprotocol. The CUSTOM ID CODE is a predetermined code that identifies theremote control unit 200 as an authorized or operative remote controllingdevice. The KEY DATA n parameters relate particular digital codes toparticular keys or switches associated with control functions for aselected controlled device. Finally, the timing parameters T1, T2, . . .Tn correspond to the timing parameters described above for defining bitor word formats.

Consequently, by selecting a particular set-top, a software pointer 202utilized by the processor 203 selects the appropriate memory locationsto retrieve the protocol parameters associated with the secondcommunications protocol for the particular set-top. A similar pointeroperation is conducted for the selection of the digital music tuner.

Turning now to FIG. 12, in order to understand the manner in which thepreferred embodiment implements the storage and usage of control signalsor protocols for controlling various different controlled devices, thecommonly used control signals or protocols, most often implement asinfrared codes, must first be understood. This turns out to be a verywide range of different codes. FIG. 12, which is identical to FIG. 1 ofU.S. Pat. No. 4,623,887 to Welles, II, illustrates several modulationschemes. FIGS. 12a through 12g are different types of gated carrierfrequencies. Typical carrier frequencies for infrared remotetransmitters are 20 kHz to 60 kHz, with the majority at 38 kHz and 40kHz. The gating schemes illustrated include both fixed and variable bitperiods, non-return to zero (NRZ), variable burst width, single/doubleburst modulation schemes, and a final catch-all category called randombecause there is no readily distinguishable pattern of ones and zeros.

In addition to these schemes, there is also a transmitter which puts outa different continuous frequency (CW) for each key at approximately 300Hz spacings as represented in FIG. 12h. Finally, several new types oftransmitters do not use a carrier frequency at all but, instead, send astream of pulses where the data is encoded in the spacing betweeninfrared pulses as shown in FIG. 12i.

FIG. 12 shows certain data modulation schemes, but most transmittersalso have a higher level of data organization, which may be called akeyboard encoding scheme. This causes data to be sent in differentformats depending on the transmitter and the key pressed. Those skilledin the art will understand that several of these keyboard encodingschemes are known in the art, as illustrated and discussed in thereferenced U.S. Pat. No. 4,623,887. In some systems, data is sent oncefor each key press. In other systems, data is repeated three times andthen stopped for each key press. These schemes are used to conservepower and extend battery life. In yet other systems, data is repeatedlysent as long as the key is pressed. This is often used for continuousfunctions such as volume control or channel scanning. In still othersystems, there is a modification of the continuous repeat scheme wherethe initial key data is sent, followed by a series of "keep-alive"pulses as long as the key is pressed. This scheme is also used toconserve power and extend battery life.

In addition to these schemes, some remote control transmitters precedeall transmitted key data with some form or preamble data stream to getthe receiver's attention. It will be understood that such preamble datastream can be used with each of the above-described keyboard encodingschemes.

From the foregoing, it will be understood that various infrared remotecontrol devices for different set-top converters, VCRs, television sets,and the like manufactured by different vendors (i.e., second controlleddevices) are controlled with different control protocols. It will befurther understood that these "control protocols" or "control signals",as the terms are used herein, include various modulation schemes,keyboard encoding schemes, preamble data streams, keep alive pulseschemes, and other control information. It will therefore be understoodthat each of these control protocols include various parameters thatdefine the protocol, including but not limited to carrier frequency (andperiod), bit codes defining preamble codes, bit codes defining keyencoding schemes, numbers associated with the times a signal isrepeated, and the like.

In order to implement the control protocol for a selected one ofplurality of different controlled second devices, it is thereforenecessary to store data in the remote control unit 200 corresponding tothe particular parameters of the control protocol for each of the seconddevices that the remote control unit 200 is capable of controlling. Thepresent invention is then operative, in the manner described herein, toenter a mode for selecting one of the plurality of second controlleddevices, retrieve the appropriate and corresponding protocol parametersstored in ROM corresponding to the identification indicia stored inmemory, and transmit an infrared control signal formatted in theselected control protocol for the selected controlled second device soas to cause the selected device to implement a command corresponding tothe key pressed.

FIG. 13 illustrates the control communication data format or controlprotocol 401, sometimes called a message layer protocol, utilized by thepreferred remote control unit 200 in controlling the tuner 100. However,it should be understood that the control protocol 401 is exemplary ofsecond or control protocols often utilized in infrared remote controltransmitters. It should be understood that the control protocol 401 isimplemented by utilizing particular modulation schemes such as shown inFIG. 12, and that both the modulation scheme and the data format shownin FIG. 13 are both considered "protocols," albeit at different levels.The control protocol 401 comprises four separate portions, including astart pulse 402, a custom ID code portion 404, a data portion 408, andan (optional) error checking portion 411. The first portion, a startpulse 402, comprises one bit and is utilized to synchronize theoperation of the remote control receiver 190. The second portion, thecustom ID code portion 404, comprises six bits and is utilized todistinguish the control protocol associated with the tuner 100 fromother control protocols. A third portion, the data portion 408,comprises six bits of actual control data. The (optional) error checkingportion 411 is used in some systems to provide a measure of errorchecking via cyclic redundancy check (CRC) codes or the like.

The data transmitted within the data portion 408 is provided to thetuner 100 by first transmitting the least significant bit of the dataportion. To insure an accurate reception of a control command signal,each signal is transmitted twice by the remote control unit 200 in thepreferred embodiment. The tuner 100 will not interpret two consecutivecontrol command signals to be separate signals unless these controlcommand signals are separated by a time interval of at least 250milliseconds. Furthermore, all control command signals transmitted bythe remote control unit 200 are preferably separated by a time intervalof approximately 33 milliseconds of dead space before beginning anothertransmission. In this manner, the tuner 100 can distinguish separatecontrol command signals from the pair of repeated control commandsignals.

By now, it should be understood that the tuner 100 also utilizes a firstor display information communications protocol to send a programinformation message to the remote control unit 200. Each programinformation message consists of a maximum of 160 characters that, oncereceived, can be displayed by the remote control unit 200 when thesubscriber presses the VIEW key. The program information messagecomprises up to five message fields, wherein each message field includestwo lines of 16 characters each, to provide a total of 32 displayablecharacters. Each character is defined by a character format that issimilar to the format utilized for RS-232 serial interface,non-return-to-zero (NRZ) transmission.

The preferred character data format is defined by a series of ten bitsthat begins with a start bit, followed by eight data bits, and concludeswith a stop bit. The start bit, defined as a logic 0, indicates thestart of a character and the stop bit, defined as a logic HIGH,indicates the completion of a character and the conclusion of acharacter bite. As those skilled in the art will recognize, a logic HIGHis indicated by a high level and a logic LOW is indicated by a low logiclevel.

Refer now to FIG. 14 for discussion of a table describing the first ordisplay information communications protocol 501 for communicating aprogram information message between the tuner 100 and the remote controlunit 200. The protocol 501 is defined by a plurality of defined fields,comprising a start text or start of transmission field <STX>, a sequence# (number) field <Seq. #>, a group of definition fields <Def. Field n>interweaved with an associated group of data fields <Data Field n>, agroup of error detection fields <CRC-7 Field n>, an end of text field<EOT>, a message error detection term <CRC-7 All>, and an end text orend of message field <ETX>.

FIG. 14 specifically illustrates the preferred protocol for the programinformation message utilized in the preferred embodiment, having amaximum message length of five data fields. The start text field, <STX>comprising one character, indicates the start of a program informationmessage. Furthermore, the sequence number <Seq. #>, comprising onecharacter, indicates the number of the present message within arepetition sequence (each message is sent four times, so that thesequence number field increments by one for each of the fourtransmissions).

Each data field <Data Field n> includes an associated definition field<Def. Field n>, which defines the class of information provided by thecorresponding data field. Each definition field comprises one character.In contrast, each data field <Data Field n> comprises 32 characters.

It should be understood at this juncture that in the preferredembodiment, the definition fields comprise coded information signals andthe data fields comprise coded information signals. The memory 203astores a string of alphanumeric characters associated with each of aplurality of coded information signals. The processor 203 is responsiveto the coded information signals or definition fields for retrievingselected alphanumeric characters from memory and for generating acorresponding alphanumeric display on the display 209.

Stated in other words, the coded information signals correspond to aplurality of "headers" or predefined data categories to be displayed onthe display 209. For example, a single predetermined character codeprovided in the first definition field causes the display of thecharacter string "TITLE" on the display, a single predeterminedcharacter code provided in the second definition field causes thedisplay of the character string "TRACK", and a single predeterminedcharacter code provided in the third definition field causes the displayof the character string "ARTIST". Moreover, the uncoded informationsignals correspond to particular items of data within one of thepredefined data categories to be displayed on the display, for example,the particular title of the music being played, the particular tracknumber, and the particular artist's name. The display 209 is operativeto display predetermined alphanumeric characters corresponding to thecoded information signals, prior to displaying alphanumeric characterscorresponding to the uncoded information signals.

For a program information message including five data fields, a messagefurther includes five definition fields, wherein each definition field<Def. Field n> is associated with a corresponding data field <Data Fieldn> to define the category of the corresponding data field <Data Fieldn>. Each definition field <Def. Field n>represents a predefined datacategory that is stored in the memory 203a, preferably the ROM. Prior todisplaying a data field associated with a particular definition field,the display 209 displays the predefined data category to introduce themessage information of the data field that will follow the particulardefinition field. The storage of such often-used data categories, suchas title, track, artist, composer, or the like, each associated with adefinition field <Def. field n> within the memory 203a of the remotecontrol unit 200, eliminates any requirement for the tuner 100 totransmit such information within a data field, thereby reducing thetotal length of a program information message and speeding up thetransfer of the program information message.

Each error detection field <CRC-7 Field n> is associated with acorresponding pair of a definition field <Def. Field n> and itscorresponding data field <Data Field n>. Each error detection field<CRC-7 Field n>, which comprises one character, provides an errorcalculation term for the associated pair of the definition field <Def.Field n> and its corresponding data field <Data Field n>. In thismanner, the remote control unit 200 may verify the accuracy of thereceived program information message by comparing a calculated errordetection term for a received pair comprising a definition field and adata field to the error detection field associated with the pair. Themessage error detection term <CRC-7 All>, comprising one character,enables the remote control unit 200 to verify the accuracy of the entireprogram information message by comparing the message error detection toa calculated error detection term associated with the entire programinformation message:

The end of text field <EOT>, comprising one character, indicates the endof the textual data associated with the program information message.Also, the end of message field, <ETX>, comprising one character,indicates the conclusion of an entire program information message.

Furthermore, for the program information message including five datafields, the message further includes five error detection fields,wherein each of the error detection fields <CRC-7 Field n> is associatedwith a corresponding pair of a definition field <Def. Field n> and itscorresponding data field <Data Field n>.

The tuner 100 transmits the same program information message for apredetermined number of times, preferably four times, before terminatingthe transmission to the remote control unit 200. The opportunity for theremote control unit 200 to repeatedly receive the same programinformation message insures that the remote control unit 200 is morelikely to accurately receive an entire, error free program informationmessage prior to displaying the message for the convenience of thesubscriber.

When the remote control unit 200 polls the tuner 100 by transmitting acontrol command signal requesting a program information message to thetuner 100, the tuner 100 conducts a search for the beginning of the nextprogram information message associated with the current program beingprovided via the cable. The search conducted by the tuner 100 iscompleted when the tuner 100 detects a start of transmission field <STX>within a predetermined time period. The tuner 100 then proceeds torepetitively send the same detected program information message to theremote control unit 200 during four separate intervals without firstbuffering or storing the complete program information message within amemory. Consequently, the maximum time interval necessary for the remotecontrol unit 200 to receive a complete program information message is afirst time interval defined by the four transmissions of the sameprogram information message, and a second time interval defined by thetuner's search for the beginning of a complete message, i.e., the startof transmission field, <STX>, otherwise recognized as a latency period.In the preferred embodiment, the maximum: time period for reception of acomplete program information message by the remote control unit 200 isapproximately 2 seconds.

If a program information message is not available at the tuner when thesubscriber presses the VIEW key of the remote control unit 200, thetuner 100 will transmit an error message for reception and display bythe remote control unit 200. Specifically, the tuner 100 will transmitthree FFh (HEX) followed by four end-of-message fields to indicate theabsence of the program information message at the tuner 100. Inaddition, if the subscriber presses the VIEW key during the intervalwhen the tuner 100 changes programs, the tuner 100 will transmit fourend of message fields to terminate the communication between the tuner100 and the remote control unit 200.

FIG. 15 illustrates the method utilized by the preferred remote controlunit 200 to verify the accuracy of the received program informationmessage. This method is implemented as a program for the processor 203.

To insure the rapid and accurate transmission and reception of theprogram information message, the first or display information protocolincludes the group of error detection fields, wherein each errordetection field is associated with a data pair comprising a definitionfield and its corresponding data field. Thus, starting at 601 in FIG.15, the first inquiry at 602 is whether a definition field and itsassociated data field, and their associated error detection field havebeen. received.

At step 605, the inquiry is made whether the received data pair havealready been stored as an error free data pair. If yes, the block 601 isreturned to for receipt of the next data pair. If not, at step 608 thedata pair and associated error detection field are sent to the processorfor further processing.

At step 612, the remote control unit 200 calculates an error detectionterm for each of the pairs of the definition fields and thecorresponding data fields included within a received program informationmessage. To verify the accuracy of the received program informationmessage, at step 615 the remote control unit 200 compares the calculatederror detection value to the error detection field included within theprogram information message for each of the definition field and thecorresponding data field. If an error is detected, a "not received" flagis stored at 620, indicative that the particular data pair has not beenreceived and stored as error free.

If no error is detected at 615, the data pair comprising the definitionfield and the data field are stored as an error free data pair at step623.

At step 625, the processor determines whether all n of a plurality ofdata pair have been stored as error free. If so, all n data pair aresent to the display 209 for display at step 628. It is at this pointthat the single character of the definition field of the data pair isreplaced by the corresponding data string on the, display, for example,"ARTIST" or "TITLE", while all characters of the data field of the datapair are displayed as is on the display 209.

If at step 625 all n data pair have not been received, the programbranches to 630, where the inquiry has been made whether all mtransmissions of the program information message have been sent. It willbe recalled that in the preferred embodiment, there are at least fourtransmissions of each entire message, so m equals four. If all mtransmissions have already been sent, the program branches to 633 and anerror message, for example, "ERROR--PLEASE TRY AGAIN", "TRANSMISSION NOTRECEIVED", or the like, is displayed on the display 209. If all mtransmissions have not occurred, the program branches back to 601 andattempts to obtain the data pair on a subsequent transmission.

It will be understood that these steps are repeated for each of thefields associated with a selected program information message, and themessage is accumulated within the memory 203a, preferably the RAMassociated with the processor 203. The processor 203 operates upon eachaccumulated pair of the definition field and the corresponding datafield to calculate an error detection term associated with theaccumulated pair. If the calculated error detection term matches theerror detection term associated with the accumulated pair, the processor203 identifies that accumulated field as an error-free field and storesthe error-free field in the memory 203a. The error detection term iscalculated by starting with the definition field and ending with thelast byte of the corresponding data field. If the calculated errordetection term does not match the term provided by the error detectionfield, the processor 203 repeats the error detection calculation processfor the same pair provided by a subsequent transmission of the programinformation message because the tuner 100 repetitively transmits themessage four separate times. The processor does not calculate an errordetection term for any accumulated pair that has already been identifiedby the processor 203 as an error-free field.

This error detection calculation process is repeated until each pair ofthe definition field and the corresponding data field is identified asan error-free field or until the last transmission of the programinformation message is accumulated and processed by the remote controlunit 200. Consequently, if each of the five pairs of the definitionfield and the corresponding data field is identified as an error-freefield after the first transmission of the program information message,the processor 203 ignores the subsequent transmission of the sameprogram information message, retrieves each of the stored error-freefields, and initiates a display of the program information message.

Furthermore, the remote control unit 200 calculates an entire messageerror detection term based upon the entire program information message,beginning with the start text field and concluding with the end of textfield, to verify the accuracy of the entire received program informationmessage. The calculated entire message error detection term is comparedto the entire message error detection field to validate the receivedprogram information message. Accordingly, the calculation of the entiremessage error detection term provide a redundant check for the accuracyof the received program information message.

The remote control unit 200 preferably utilizes a cyclic redundancycheck (CRC) for the error detection calculation associated with each ofthe pairs of the definition field and the corresponding data field andfor the error detection calculation associated with the entire programinformation message. Those persons "skilled in the art will recognizethat other well known error detection calculations could be utilized tocalculate an error detection term associated with the programinformation message.

From the foregoing description of the preferred embodiment, it will beappreciated that the present invention overcomes the disadvantages ofthe prior art and achieves the objects and advantages of the inventionrecited above. From the description, other embodiments will suggestthemselves to those skilled in the art. Therefore, the scope of thepresent invention is to be limited only by the claims below.

What is claimed is:
 1. An improved, hand-held remote control apparatusfor communicating with and selectively controlling at least one remotelylocated device, said at least one remotely located device beingoperative to carry out controllable function upon receipt of a commanddelivered by a control signal from the remote control apparatus,comprising:a receiver responsive to a display information signaltransmitted by said at least one remotely located device, said displayinformation signal comprising alphanumeric character information; akeypad circuit receiving an operator input corresponding to a selectedcommand for delivery to said at least one remotely located device andproviding a command signal; a transmitter transmitting a control signalcorresponding to said selected command to said at least one remotelylocated device in response to said command signal; and a displaydisplaying alpha-numeric characters associated with said displayinformation signal, and providing an indication that the remote controlis waiting for display information to be received.
 2. The apparatus asrecited in claim 1 wherein said display provides said indication inresponse to the command signal.
 3. The apparatus as recited in claim 1wherein said display includes the LCD that displays one or more symbolsto indicate that the remote control is waiting for information to bereceived while data is being transmitted to said at least one remotelylocated device.
 4. The apparatus as recited in claim 3 wherein saiddisplay displays an alpha-numeric symbol to indicate that the remotedisplay control is waiting for display information to be received. 5.The apparatus as recited in claim 4 wherein said display displays saidalpha-numeric characters after displaying one or more symbols inresponse to the alphanumeric character information being received.